﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Tibet.Logica;

namespace Tibet.GUI.Vista
{
    /// <summary>
    /// Codigo detras de la "ventana" AgregarReporte, esta es llamada por jquery para ejecutar el agregar
    /// o borrar reportes de la lista del usuario.
    /// </summary>
    public partial class AgregarReporte : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        /// <summary>
        /// Agrega el reporte correspondiente a la lista de reportes seleccionados de ese usuario, esta lista
        /// es determianda por el dato "tipo" pasado por POST.
        /// </summary>
        public void Agregar()
        {
            try
            {
                int id = int.Parse(Session["idUsuario"].ToString());
                if(int.Parse(Request.Form["tipo"])  == 1){
                    int NumRep = int.Parse(Request.Form["NumRep"]);
                    Reporte Nuevo = (Reporte)ReportesControlador.Obtener().obtenerMostrarIni(id)[NumRep];
                    ReportesControlador.Obtener().agregarLista(id, Nuevo);
                    Response.Write("Usted tiene " + ReportesControlador.Obtener().obtenerLista(id).Count + " reportes en su lista.");
                }
                if (int.Parse(Request.Form["tipo"]) == 2)
                {
                    int NumRep = int.Parse(Request.Form["NumRep"]);
                    Reporte Nuevo = (Reporte)ReportesControlador.Obtener().obtenerMostrarErr(id)[NumRep];
                    ReportesControlador.Obtener().agregarLista(id, Nuevo);
                    Response.Write("Usted tiene " + ReportesControlador.Obtener().obtenerLista(id).Count + " reportes en su lista.");
                }
                if (int.Parse(Request.Form["tipo"]) == 3)
                {
                    int NumRep = int.Parse(Request.Form["NumRep"]);
                    Reporte Nuevo = (Reporte)ReportesControlador.Obtener().obtenerMostrarEst(id,1)[NumRep];
                    ReportesControlador.Obtener().agregarLista(id, Nuevo);
                    Response.Write("Usted tiene " + ReportesControlador.Obtener().obtenerLista(id).Count + " reportes en su lista.");
                }
                if (int.Parse(Request.Form["tipo"]) == 4)
                {
                    int NumRep = int.Parse(Request.Form["NumRep"]);
                    ReportesControlador.Obtener().borrarDeLista(id,NumRep);
                }
            }
            catch (Exception e)
            {
                Response.Write("ocuarrrio un error: " + e.Message);
            }
        }
    }
}